1. Field of the Invention
The present invention relates generally to a data regenerating apparatus such as a magnetic disk unit, an optical disk unit, or a magnetic tape unit, and particularly to a data regenerating apparatus that regenerates recorded data from a storage medium using an iterative decoding technique corresponding to a turbo coding technique.
2. Description of the Related Art
Turbo coding is an encoding technique with a large coding gain, and this technique has attracted much attention in the communications field. A turbo coding device generally encodes a data bit sequence u with two recursive systematic convolutional encoders, and may be arranged into a structure as shown in FIG. 1 or 2.
In FIG. 1, the turbo coding device comprises a first encoder 11, an interleaver (π1) 12, a second encoder 13, and a synthesizer 14. The data bit sequence u is supplied to the first encoder 11 as well as to the second encoder 13 via the interleaver (π1) 12.
The first encoder 11 and the second encoder 13 are recursive systematic convolutional encoders, and the first encoder 11 generates a corresponding parity bit sequence p1 from the input data bit sequence u. Also, the interleaver (π1) 12 outputs a signal sequence in which the bit order of the input data bit sequence u is rearranged. The second encoder 13 generates a corresponding parity bit sequence p2 from the signal sequence from the interleaver (π1) 12.
The synthesizer (MUX/puncture) 14 generates an encoded data bit sequence yk by combining the above data bit sequence u, the parity bit sequence p1 output from the first encoder 11, and the parity bit sequence p2 output from the second encoder 13, according to a predetermined rule. Also, upon combining the data bit sequence u, the parity bit sequence p1, and the parity bit sequence p2, the synthesizer (MUX/puncture) 14 thins out the bits according to a predetermined rule (puncture function), thereby raising the coding rate. The encoded data bit sequence yk generated in the manner described above is output from the turbo coding device. In a communication system, the encoded data bit sequence yk is modulated according to a predetermined rule and is transmitted from a transmission device.
Additionally, in the turbo coding device of FIG. 2, the two recursive systematic convolutional encoders (the first encoder 11 and the second encoder 13) are arranged in a straight line. In this example, the data bit sequence u is encoded in the first encoder 11, and then the interleaver (π1) 12 changes the bit order of the signal sequence obtained from the above encoding process. The signal sequence output from the interleaver (π1) 12 is then encoded in the second encoder 13, and the signal sequence obtained from the above encoding process is output as the encoded data bit sequence yk.
When the signal transmitted from the transmission device as described above is received at the reception device, the received signal is demodulated and the signal value sequences U, Y1, and Y2 each corresponding to the data bit sequence u, and the parity bit sequences p1 and p2 contained in the encoded data bit yk are obtained. These signal value sequences U, Y1, and Y2 are input to the decoding device corresponding to the above turbo coding device.
In this decoding device, soft output decoding is performed in two decoders that correspond to the above-described two encoders, and the soft output information (likelihood information) corresponding to each of the information bits obtained from one of the decoders is provided to the other decoder as prior information. The above described process is iteratively performed. For, example, the decoding device for processing the decoded signal sequences U, Y1, and Y2 each corresponding to the bit sequences u, p1, and p2 contained in the encoded data bit sequence yk, which is output from the turbo encoding device shown in FIG. 1, can be arranged to have a structure as shown in FIG. 3.
In FIG. 3, the decoder comprises a first soft in soft out (SISO) decoder 21, interleavers (π1) 22 and 23, a deinterleaver (π1−1) 25, a second soft in soft out (SISO) decoder 24, and a hard decision unit 26. The first SISO decoder 21 corresponds to the above-mentioned first encoder 11, and the second SISO decoder 24 corresponds to the above-mentioned second encoder 13.
The first SISO decoder 21 inputs the received signal value sequences U and Y1, as well as the prior information Lu from the second SISO decoder 24, and performs maximum a posteriori (MAP) probability decoding in order to estimate the posterior probability of each bit. The posterior probability is the probability of the bit uk being “0” or “1” upon detecting the signal value sequence Y (y0, y1, . . . , yk, . . . , yn). In a MAP decoding process, the logarithmic likelihood ratio L(u*), which is the logarithmic ratio of the posterior probability P (uk|Y), is calculated as:
                                                                                                              L                    ⁡                                          (                                              u                        *                                            )                                                        =                                      L                    (                                          uk                      ⁢                                                                      Y                                                                                            )                            =                              ln                ⁢                                  {                                                                                    P                        (                                                  uk                          -                          1                                                                                                            ⁢                    Y                                                                        )                    /                      P            ⁡                          (                              uk                =                                  0                  |                  Y                                            )                                      }                            (        1        )            In the above equation (1), the signal value sequence Y is the received signal value sequence U and Y1.
The probability P(uk=1|Y) of the above bit uk being “1” and the probability P(uk=0|Y) of the bit uk being “0” are calculated based on a trellis diagram indicating the state transition obtained from the signal value sequences U and Y1.
Also, the logarithmic likelihood ratio L(u*) can be expressed as:
                              L          ⁡                      (                          u              *                        )                          =                              Lc            ·            yk                    +                      L            ⁡                          (              uk              )                                +                      Le            ⁡                          (              uk              )                                                          (        2        )            
Lc·yk: communication path value (Lc: a constant determined by the S/N ratio (communication path constant) yk: received signal series y0, y1, . . . ,yn)
L(uk): prior information, which is the already-known probability of either uk=1 or uk=0
Le(uk): external likelihood information concerning uk that can be obtained from the controlling of codes
From the above equation (2), the first SISO decoder 21 calculates the external likelihood information Le(uk) according to the following equation:
                              Le          ⁡                      (            uk            )                          =                              L            ⁡                          (                              u                *                            )                                -                      Lc            ·            yk                    -                      L            ⁡                          (              uk              )                                                          (        3        )            
By substituting the logarithmic likelihood ratio L(u*) as computed in the manner described above (refer to equation (1)) into equation (3), the external likelihood information Le(uk) can be obtained. In this way, the sequence of the successively obtained external likelihood information is supplied to the second SISO decoder 24 via the interleaver (π1) 23 as a sequence of prior information L(uk). Aside from the above prior information L(uk), the second SISO decoder 24 also receives the signal value sequence U input to the decoder device via the interleaver (π1) 22 as well as the signal value sequence Y2.
The second SISO decoder 24 calculates a new logarithmic likelihood ratio L(u*) based on the above equation (1) while also taking into account the input prior information L(uk). Then, the external likelihood information Le(uk) is calculated in accordance with the above equation (3) using the above obtained logarithmic likelihood ratio L(u*) and prior information L(uk) supplied from the first SISO decoder 21.
The external likelihood information Le(uk) obtained in the second SISO decoder 24 is supplied to the first SISO decoder 21 via the deinterleaver (π1−1) 25 as prior information L(uk). Then, the first STSO decoder 21 calculates the logarithmic likelihood ratio L(u*) and the external likelihood information Le (uk) in accordance with the procedures described above while also taking into account the prior information L(uk) This external likelihood information Le (uk) is used as prior information L(uk) for the second SISO decoder 24.
As described above, both the first SISO decoder 21 and the second SISO decoder 24 iteratively perform the process of calculating the logarithmic likelihood ratio L(u*) using the external likelihood information Le(uk) calculated at the other decoder as prior information L(uk) (iterative decoding). It is be noted that in the first process of the first SISO decoder 21, the prior information L(uk) is zero (L(uk)=0).
The hard decision unit 26 determines whether the bit uk is “0” or “1” based on the logarithmic likelihood ratio L(u*) obtained in the second SSO decoder 24 after the above described decoding process is repeated for a predetermined number of times. For example, the bit uk is determined to be “1” (uk=1) if the logarithmic likelihood ratio L(u*) is positive (L(u*)>0), and the bit uk is determined to be “0” (uk=0) if the above ratio is negative (L(u*)<0). The decision result is then output as the decoded result Uk.
As the above decoding process is repeated (iterative decoding), the probability of the bit uk taking the appropriate value (either 0 or 1) gradually increases and the probability of the bit uk not taking the appropriate value decreases (i.e. the difference between the probability of the bit uk being “1” and the probability of the bit uk being “0” increases), and thus the reliability of the decision made by the hard decision unit 26 can be increased.
Attempts are being made to incorporate the above described turbo coding/decoding technique implemented in a communication system to a data recording/regenerating apparatus such as a magnetic disk unit or an optical disk unit. For example, a description of such attempts can be found in: W. E. Ryan, “Performance of High Rate Turbo Codes on a PR4-Equalized Magnetic Recording Channel”, Proc. IEEE Int. Conf. on Communications, pp947–951, 1998, wherein a magnetic disk unit implementing a turbo coding/decoding technique is disclosed.
In such a data recording/regenerating apparatus, the above-described turbo coding technique is used in the recording system for writing data into a storage medium (write system), and the above iterative decoding technique is used in the regenerating system for regenerating data from the storage medium (read system). By incorporating these techniques into the data recording/regenerating apparatus, data that is densely stored in a storage medium (e.g. a magnetic disk, an optical disk (including a magneto-optic disk), and a magnetic tape) can be regenerated with very few errors.
In a data regenerating apparatus that performs a data decoding process using the above-described iterative decoding technique, the data detection capacity increases as the number of iterations of the decoding process increases. However, increasing the number of iterations of the decoding process will lead to an increase in the time required in completing the decoding process, thereby lowering the transfer rate of the data regenerating apparatus.